# 编译阶段
FROM golang:1.16-alpine AS builder

ENV GO111MODULE on
ENV GOPROXY=https://goproxy.cn,direct

# 将源码拷贝到镜像中
COPY server.go /build/
COPY go.mod /build/

# 指定工作目录
WORKDIR /build

# 编译镜像时，运行 go build 编译生成 server 程序
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o server server.go

# 运行阶段
FROM scratch

# 从编译阶段的中拷贝编译结果到当前镜像中
COPY --from=builder /build/server /

# 指定容器运行时入口程序 server
ENTRYPOINT ["./server"]